type expr = 
	Var of string |
	Int of int |
	Bool of bool |
	Fun of string*expr |
	Bfun of string |
	Bfun2 of string |
	Cond of expr*expr*expr |
	Nil |
	Cons of expr*expr |
	App of expr*expr
;;

type root = 
	Def of string*expr
	| Defrec of string*expr
	| Exp of expr
	| Print of expr
;;